package com.jinmdz.fmis.dao.model.transport;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jinmdz.fmis.dao.base.BaseItem;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 接运任务信息
 *
 * @author LiCongLu
 * @date 2020-02-13 11:55
 */
public class TransportTaskItem extends BaseItem {
    /**
     * 业务编码
     */
    private String businessCode;

    /**
     * 车辆用途编码
     */
    private Integer transportPurposeCode;

    /**
     * 车辆用途编码
     */
    private String transportPurpose;

    /**
     * 预约时间
     */
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date appointmentTime;

    /**
     * 车辆类型编码
     */
    private Integer transportCarTypeCode;

    /**
     * 车辆类型编码
     */
    private String transportCarType;

    /**
     * 接运车辆外键
     */
    private Integer transportCarId;

    /**
     * 车牌号
     */
    private String transportCarNo;

    /**
     * 司机账号外键
     */
    private Integer driverUserId;

    /**
     * 司机姓名
     */
    private String driverUserName;

    /**
     * 司机电话
     */
    private String driverUserTelephone;

    /**
     * 接尸地点
     */
    private String transportPlace;

    /**
     * 接运联系人
     */
    private String transportLinkman;

    /**
     * 接运联系电话
     */
    private String transportTelephone;

    /**
     * 出车时间
     */
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date departureTime;

    /**
     * 回车时间
     */
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date returnTime;

    /**
     * 流程状态
     */
    private Integer processStateCode;

    /**
     * 是否返空
     */
    private Integer asEmptyCar;

    /**
     * 行驶里程
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal transportDistance;

    /**
     * 规则数量
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal ruleNumber;

    /**
     * 规则单位
     */
    private String ruleUnit;

    /**
     * 规则编码
     */
    private String ruleCode;

    /**
     * 规则备注
     */
    private String ruleRemark;

    /**
     * 备注
     */
    private String remark;

    /**
     * 随机码
     */
    private String randomCode;

    /**
     * 费用外键
     */
    private Integer chargeId;

    public String getBusinessCode() {
        return businessCode;
    }

    public TransportTaskItem setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public Integer getTransportPurposeCode() {
        return transportPurposeCode;
    }

    public TransportTaskItem setTransportPurposeCode(Integer transportPurposeCode) {
        this.transportPurposeCode = transportPurposeCode;
        return this;
    }

    public String getTransportPurpose() {
        return transportPurpose;
    }

    public TransportTaskItem setTransportPurpose(String transportPurpose) {
        this.transportPurpose = transportPurpose;
        return this;
    }

    public Date getAppointmentTime() {
        return appointmentTime;
    }

    public TransportTaskItem setAppointmentTime(Date appointmentTime) {
        this.appointmentTime = appointmentTime;
        return this;
    }

    public Integer getTransportCarTypeCode() {
        return transportCarTypeCode;
    }

    public TransportTaskItem setTransportCarTypeCode(Integer transportCarTypeCode) {
        this.transportCarTypeCode = transportCarTypeCode;
        return this;
    }

    public String getTransportCarType() {
        return transportCarType;
    }

    public TransportTaskItem setTransportCarType(String transportCarType) {
        this.transportCarType = transportCarType;
        return this;
    }

    public Integer getTransportCarId() {
        return transportCarId;
    }

    public TransportTaskItem setTransportCarId(Integer transportCarId) {
        this.transportCarId = transportCarId;
        return this;
    }

    public String getTransportCarNo() {
        return transportCarNo;
    }

    public TransportTaskItem setTransportCarNo(String transportCarNo) {
        this.transportCarNo = transportCarNo;
        return this;
    }

    public Integer getDriverUserId() {
        return driverUserId;
    }

    public TransportTaskItem setDriverUserId(Integer driverUserId) {
        this.driverUserId = driverUserId;
        return this;
    }

    public String getDriverUserName() {
        return driverUserName;
    }

    public TransportTaskItem setDriverUserName(String driverUserName) {
        this.driverUserName = driverUserName;
        return this;
    }

    public String getDriverUserTelephone() {
        return driverUserTelephone;
    }

    public TransportTaskItem setDriverUserTelephone(String driverUserTelephone) {
        this.driverUserTelephone = driverUserTelephone;
        return this;
    }

    public String getTransportPlace() {
        return transportPlace;
    }

    public TransportTaskItem setTransportPlace(String transportPlace) {
        this.transportPlace = transportPlace;
        return this;
    }

    public String getTransportLinkman() {
        return transportLinkman;
    }

    public TransportTaskItem setTransportLinkman(String transportLinkman) {
        this.transportLinkman = transportLinkman;
        return this;
    }

    public String getTransportTelephone() {
        return transportTelephone;
    }

    public TransportTaskItem setTransportTelephone(String transportTelephone) {
        this.transportTelephone = transportTelephone;
        return this;
    }

    public Date getDepartureTime() {
        return departureTime;
    }

    public TransportTaskItem setDepartureTime(Date departureTime) {
        this.departureTime = departureTime;
        return this;
    }

    public Date getReturnTime() {
        return returnTime;
    }

    public TransportTaskItem setReturnTime(Date returnTime) {
        this.returnTime = returnTime;
        return this;
    }

    public Integer getProcessStateCode() {
        return processStateCode;
    }

    public TransportTaskItem setProcessStateCode(Integer processStateCode) {
        this.processStateCode = processStateCode;
        return this;
    }

    public Integer getAsEmptyCar() {
        return asEmptyCar;
    }

    public TransportTaskItem setAsEmptyCar(Integer asEmptyCar) {
        this.asEmptyCar = asEmptyCar;
        return this;
    }

    public BigDecimal getTransportDistance() {
        return transportDistance;
    }

    public TransportTaskItem setTransportDistance(BigDecimal transportDistance) {
        this.transportDistance = transportDistance;
        return this;
    }

    public BigDecimal getRuleNumber() {
        return ruleNumber;
    }

    public TransportTaskItem setRuleNumber(BigDecimal ruleNumber) {
        this.ruleNumber = ruleNumber;
        return this;
    }

    public String getRuleUnit() {
        return ruleUnit;
    }

    public TransportTaskItem setRuleUnit(String ruleUnit) {
        this.ruleUnit = ruleUnit;
        return this;
    }

    public String getRuleCode() {
        return ruleCode;
    }

    public TransportTaskItem setRuleCode(String ruleCode) {
        this.ruleCode = ruleCode;
        return this;
    }

    public String getRuleRemark() {
        return ruleRemark;
    }

    public TransportTaskItem setRuleRemark(String ruleRemark) {
        this.ruleRemark = ruleRemark;
        return this;
    }

    public String getRemark() {
        return remark;
    }

    public TransportTaskItem setRemark(String remark) {
        this.remark = remark;
        return this;
    }

    public String getRandomCode() {
        return randomCode;
    }

    public TransportTaskItem setRandomCode(String randomCode) {
        this.randomCode = randomCode;
        return this;
    }

    public Integer getChargeId() {
        return chargeId;
    }

    public TransportTaskItem setChargeId(Integer chargeId) {
        this.chargeId = chargeId;
        return this;
    }
}
